package com.wzh.auth.domain.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;

/**
 * <p>
 * 用户登录成功后返回的信息DTO，包含用户基本信息和访问令牌
 * </p>
 *
 * @author 山归岿
 * @create 2025-06-15-19:42
 */
@Data
@Builder
@Schema(description = "登录返回信息")
public class LoginDTO {

    @Schema(description = "用户ID")
    private Long userId;

    @Schema(description = "用户名")
    private String username;

    @Schema(description = "昵称")
    private String nickname;

    @Schema(description = "头像")
    private String avatar;

    @Schema(description = "token")
    private String token;

    @Schema(description = "token类型")
    private String tokenType;

    @Schema(description = "token过期时间（单位：秒）")
    private Long tokenExpireIn;

    @Schema(description = "角色ID")
    private Long roleId;

    @Schema(description = "角色名称")
    private String roleName;

    @Schema(description = "部门ID")
    private Long deptId;

    @Schema(description = "部门名称")
    private String deptName;

    @Schema(description = "权限列表")
    private String[] permissions;
}